Data input devices, such as computer mice, touch screens, trackballs and the like, are well known for inputting data into and interfacing with personal computers and workstations. Such devices allow rapid relocation of a cursor on a monitor, and are useful in many text, database and graphical programs. A user controls the cursor, for example, by moving the mouse over a surface to move the cursor in a direction and over distance proportional to the movement of the mouse.
Computer mice come in both optical and mechanical versions. Mechanical mice typically use a rotating ball to detect motion, and a pair of shaft encoders in contact with the ball to produce a digital signal used by the computer to move the cursor. One problem with mechanical mice is that they are prone to inaccuracy and malfunction after sustained use due to dirt accumulation, etc. In addition, the movement and resultant wear of the mechanical elements, particularly the shaft encoders, necessarily limit the useful life of the device.
One solution to the above-discussed problems with mechanical mice has been the development of mice using an optical navigation system. These optical mice have become very popular because they provide a better pointing accuracy and are less susceptible to malfunction due to accumulation of dirt.
In a surface-agnostic motion detector, a surface is illuminated in such a way as to create a unique pattern on the surface that can be tracked by an optical sensor. In LED mice, the surface is illuminated by an LED at grazing incidence so that tiny irregularities in the surface cast shadows, creating a non-uniform random pattern. The pattern is imaged onto a detector army. The offset of this pattern versus the position of the sensor is then tracked over time.
In laser-based sensors, a semiconductor laser (typically a VCSEL) is used to illuminate the surface at near-normal incidence. The spectral coherence of the laser and the wavelength-scale irregularities in the surface create an interference pattern, known as speckle, on the surface. The speckle pattern is imaged onto a detector array. The offset of this pattern versus the position of the sensor is then tracked over time.
A speckle-based sensor offers several potential advantages over a LED-based sensor. A laser can be more power efficient than an LED, offering power savings. (Against this benefit must be set the fact that the maximum output power of lasers is limited by various regulations, whereas LEDs are subject to no such limits.) Speckle forms on any surface that is not optically-flat (essentially, all surfaces), whereas oblique LED illumination fails on relatively smooth surfaces. Last, while the spatio-spectral properties of the LED-illuminated signal depend strongly on the roughness of the specific surface being illuminated, the spatio-spectral properties of the speckle pattern are determined primarily by the receiving optics (part of the sensor) and thus can be controlled quite closely. Thus, from a purely performance standpoint, laser illumination can be made to work across a wider range of surfaces.
There are two main approaches to motion detection. In so-called “correlation detectors” a snapshot is taken of the illumination pattern at two sequential times and the cross-correlation of the two images is constructed. By detecting the peak in the correlation, one can determine the magnitude and direction of motion that occurred between the two snapshots. The advantage of the correlation detector is that a range of spatial frequencies participate in the correlation, so there is no problem with fading. The cost is that a correlation is computationally expensive, necessitating simplifications (small arrays, grouping of pixels into super-pixels) that can degrade the performance of the sensor relative to its theoretical potential.
The second approach, which is the focus of this document, is a so-called “comb detector,” in which successive snapshots are correlated not against each other, but against one or more fixed reference patterns that are embedded within the sensor itself. Each reference pattern is typically chosen to pick out a single spatial frequency in the optical speckle pattern; by measuring the phase of each spatial frequency, it is possible to determine the direction and magnitude of motion between successive snapshots. Because the reference pattern is fixed in the hardware, one can optimize the hardware so that relatively few mathematical operations are required in the digital domain and some processing can be performed in the analog domain (e.g., wire-summing). Comb detectors can use detectors in many patterns, both one-dimensional and two-dimensional arrangements.
However, because only a small number of spatial frequencies are probed, careful attention must be paid during the signal processing to overcome potential limitations associated with signal fading, the inherent randomness of the optical signal, and issues associated with aliasing.
The present disclosure describes the novel signal process techniques for speckle-based motion sensors.